package models

import "gorm.io/gorm"

/*
`admin_id` bigint unsigned DEFAULT '0' COMMENT '客服id',
`msg_type` varchar(191) COLLATE utf8mb4_general_ci DEFAULT 'admin' COMMENT '回复类型 0欢迎语 1自动回复 2关键词回复',
`content` longtext COLLATE utf8mb4_general_ci COMMENT '消息内容',
`type` varchar(191) COLLATE utf8mb4_general_ci DEFAULT 'text' COMMENT '消息类型 text 文本消息,  image 图片消息, video 视频消息, audio 音频消息',
`status` tinyint unsigned DEFAULT '0' COMMENT '消息状态 1启用 2禁用',
*/
type ChatAutoReply struct {
	gorm.Model
	AdminID   uint     `gorm:"default:0;comment:客服id"`
	MsgType   uint8    `gorm:"default:0;comment:回复类型 0欢迎语 1自动回复 2关键词回复"`
	Title     string   `gorm:"comment:标题"`
	Content   string   `gorm:"comment:消息内容"`
	Type      string   `gorm:"default:'text';comment:消息类型 text 文本消息,  image 图片消息, video 视频消息, audio 音频消息"`
	Status    uint8    `gorm:"default:0;comment:消息状态 1启用 2禁用"`
	Sort      uint     `gorm:"default:0;comment:排序"`
	CreatedAt int64    `gorm:"autoCreateTime;comment:创建时间戳"` // 修改为 int64 类型
	UpdatedAt int64    `gorm:"autoUpdateTime;comment:更新时间戳"` // 修改为 int64 类型
	AuthUser  AuthUser `gorm:"foreignKey:AdminID;references:ID"`
}

type ChatAutoReplyCreate struct {
	AdminID uint   `json:"admin_id"`
	Title   string `json:"title"`
	MsgType uint8  `json:"msg_type"`
	Content string `json:"content"`
	Type    string `json:"type"`
	Status  uint8  `json:"status"`
	Sort    uint   `json:"sort"`
}

type ChatAutoReplyUpdate struct {
	ID      uint   `json:"id"`
	AdminID uint   `json:"admin_id"`
	Title   string `json:"title"`
	MsgType uint8  `json:"msg_type"`
	Content string `json:"content"`
	Type    string `json:"type"`
	Status  uint8  `json:"status"`
	Sort    uint   `json:"sort"`
}

type ChatAutoReplyList struct {
	ID        uint   `json:"id"`
	AdminID   uint   `json:"admin_id"`
	Title     string `json:"title"`
	AdminName string `json:"admin_name"`
	MsgType   uint8  `json:"msg_type"`
	Content   string `json:"content"`
	Type      string `json:"type"`
	Status    uint8  `json:"status"`
	Sort      uint   `json:"sort"`
	CreatedAt string `json:"created_at"`
	UpdatedAt string `json:"updated_at"`
}

// TableName 设置表名为 chat_auto_reply
func (ChatAutoReply) TableName() string {
	return "chat_auto_reply"
}
